"""
file_name=input('请输入你要备份的文件名')#输入E:\\python learning notes\\files.txt
#使用rfind提取后缀名
index=file_name.rfind('.')
print(index)
print(file_name[:index])#E:\\python learning notes\\files
new_name=file_name[:index]+'(备份)'+file_name[index:]
print(new_name)
剩下的内容与昨天最后介绍文件备份的方法相同
顺便，好久没用我都忘了字符串怎么索引了
"""
#文件目录
'''
需要import os
常见指令：
os.rename重命名
os.remove删除
os.mkdir创建文件夹
os.getcwd获取当前目录
os.rmdir删除文件夹
'''
import os
#os.rename('E:\\python learning notes\\files.txt','E:\\python learning notes\\renamed_files.txt')#可以看到已经重命名成功了
#os.mkdir('E:\\python learning notes\\新建文件夹')
#os.rmdir('E:\\python learning notes\\新建文件夹')#成功删除
#为了展示效果，还是再创建出来
'''
注意：如果不写绝对路径，默认在当前目录下进行查找
改变默认路径的方法
'''
#os.chdir('../')#返回上一级目录
print(os.getcwd())#E:\python learning notes
#用listdir展示目录中所有内容
#print(os.listdir())#['.git', 'files UTF-16 BE.txt', 'files(1).txt', 'files(2).txt', 'renamed_files.txt', 'testc', '学习笔记', '新建文件夹']
#注释掉os.chdir后再写一次
print(os.listdir())#['.idea', '1.15.py', '1.16.py', '1.17.py', '1.18.py', '1.21.py', '1.22.py', '1.23.py', '1.24.py', '1.25.py', '1.26.py', '1.27.py', '1.28.py', '1.30.py', '1.31.py', '2.1.py', '2.2.py', '2.3.py', '2.4.py', 'a.py', 'a1.py', 'test', '__pycache__']
#在open内部写error=' ignore '可以忽视错误

from _collections_abc import Iterable
print(isinstance([1,2],Iterable))#True(如果返回TruE说明是可迭代对象)
#取出列表的迭代器
print(iter([1,2]))#<list_iterator object at 0x000002A6C7A67370>,即列表的迭代器对象+地址
for num in iter([1,2]):
    print(num)
"""
1
2
（甚至迭代器也能遍历）
"""
#毕竟迭代器可以用next迭代
iter_object=iter([1,2,3])
#print(next(iter_object))
#print(next(iter_object))
#print(next(iter_object))
'''
1
2
3
(难道说，for循环就是不断地对迭代器进行next操作？)
'''
#print(next(iter_object))#StopIteration
#基于此可以判定迭代终点
while True:
    try:
        print(next(iter_object),end=' ')
    except StopIteration as s:
        print('\n迭代已停止,提示为StopIteration')
        break
'''
1 2 3 
迭代已停止,提示为StopIteration
'''